unit untListFuncionario;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, untListPadrao, DB, Grids, DBGrids, StdCtrls, Buttons, ExtCtrls;

type
  TfrmListFuncionario = class(TfrmListPadrao)
    procedure btnIncluirClick(Sender: TObject);
    procedure btnAlterarClick(Sender: TObject);
    procedure btnExcluirClick(Sender: TObject);
    procedure EdtPesquisarChange(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmListFuncionario: TfrmListFuncionario;

implementation

uses untCadFuncionario, untDm, untFuncoesListagem;

{$R *.dfm}

procedure TfrmListFuncionario.btnIncluirClick(Sender: TObject);
begin
  inherited;
  frmCadFuncionario.Tag := 1;
  frmCadFuncionario.ShowModal;
end;

procedure TfrmListFuncionario.btnAlterarClick(Sender: TObject);
begin
  inherited;
  frmCadFuncionario.Tag := 2;
  frmCadFuncionario.ShowModal;
end;

procedure TfrmListFuncionario.btnExcluirClick(Sender: TObject);
begin
  inherited;
   //---------------efetua a exclusao do registro
   if DM.CDSFuncionario.RecordCount = 0 then
    Exit;
  try
  if MessageDlg('Deseja Excluir o Funcionario?', mtConfirmation, [mbYes,mbNo],0) = mrYes then
    begin
      DM.SDSComando.CommandText :=  'UPDATE "Funcionario" SET  DELETADO = :DELETADO WHERE "cod_fun" = :cod_fun';
      DM.SDSComando.Params.ParamByName('DELETADO').AsString := '1';
      DM.SDSComando.Params.ParamByName('cod_fun').AsString := DM.CDSFuncionario.FieldByName('cod_fun').AsString;
      DM.SDSComando.ExecSQL();
      DM.CDSFuncionario.Close;
      DM.CDSFuncionario.Open;

      EdtRegistros.Text := atualizaTotal('funcionario');
    end;
  except
    if MessageDlg('Erro ao Excluir o Funcionario', mtError, [mbOK],0) = mrOK then
      Exit;
  end;
end;

procedure TfrmListFuncionario.EdtPesquisarChange(Sender: TObject);
begin
  inherited;
 //verifica se o Campo nao esta vazio e procura o pedido pelo nome
  if Trim(EdtPesquisar.Text) <> '' then
  begin
    DM.CDSFuncionario.Locate('nome_fun', EdtPesquisar.Text, [loCaseInsensitive,loPartialKey]);
  end;
end;

procedure TfrmListFuncionario.FormShow(Sender: TObject);
begin
  inherited;
  DM.CDSFuncionario.Close;
  DM.CDSFuncionario.Open;

  // ---------Apresenta a quantidade de cadastros ativos no banco
  EdtRegistros.Text := atualizaTotal('funcionario');

  
end;

procedure TfrmListFuncionario.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  DM.CDSFuncionario.Close;
end;

end.
